/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package DataAccess;

import BussinesLogic.Request;
import DataModel.EventoDeportivo;
import java.sql.*;

public class Dao_EventoDeportivo {

    public Dao_EventoDeportivo(){}
    
    public Request consultarEvento(String campo, int tipoConsulta) {
        /* 
         * Si tipo de consulta es 1 la busqueda del Evento deportivo se hace por id
         * Si es 2 la busqueda se realiza por nombre
         * Campo es el valor para realizar la busqueda                
         */
        EventoDeportivo evento = new EventoDeportivo();
        Request request = new Request();
        String sql = "";

        switch (tipoConsulta) {
            case 1:
                sql = "SELECT * FROM \"EventoDeportivo\" WHERE id='" + campo + "'";
                break;
            case 2:
                sql = "SELECT * FROM \"EventoDeportivo\" WHERE nombre='" + campo + "'";
                break;
        }
        try {
            Connect conn = new Connect();
            driverPGSQL driver = new driverPGSQL(conn);
            request = driver.querySelect(sql);
            ResultSet rqs = request.getRequest();
            while (rqs.next()) {
                evento.setId(rqs.getString(1));
                evento.setNombre(rqs.getString(2));
                evento.setDescripcion(rqs.getString(3));
                evento.setFechaInicio(rqs.getDate(4));
                evento.setFechaFin(rqs.getDate(5));
                evento.setPais(rqs.getString(6));
                evento.setCiudad(rqs.getString(7));
                evento.setLogo(rqs.getString(8));
            }
            request.setObject(evento);
            request.setMessage("Evento Deportivo Creado");
            conn.close();
        } catch (Exception e) {
            request.setTransac(false);
            request.setMessage(e.getMessage());
        }

        return request;
    }
    
    public Request registrarEvento(EventoDeportivo evento) {
        
        String sql = "INSERT INTO \"EventoDeportivo\" (id, nombre, descripcion, f_inicio, f_fin, pais, ciudad, logo)"
                + " VALUES('" + evento.getId() + "','" + evento.getNombre() + "','" + evento.getDescripcion()
                + "','" + evento.getFechaInicio() + "','" + evento.getFechaFin() + "','" + evento.getPais()
                + "','" + evento.getCiudad() + "','" + evento.getLogo() + "')";
        Request request = new Request();

        try {
            Connect conn = new Connect();
            driverPGSQL driver = new driverPGSQL(conn);
            request = driver.queryInsert(sql);
            conn.close();
        } catch (Exception e) {
            request.setTransac(false);
            request.setMessage(e.getMessage());
        }
        return request;
    }
    
    
}
